﻿package mortal.game.view.guildNew.info.data
{
    import Message.DB.Tables.*;
    import Message.Game.*;
    import extend.language.*;
    import mortal.component.gconst.*;
    import mortal.game.cache.*;
    import mortal.game.cache.guild.*;
    import mortal.game.manager.*;
    import mortal.game.mvc.*;
    import mortal.game.resource.*;
    import mortal.game.resource.info.item.*;
    import mortal.game.resource.tableConfig.*;
    import mortal.game.view.common.*;
    import mortal.game.view.daily.*;

    public class GuildNInfoUtil extends Object
    {

        public function GuildNInfoUtil()
        {
            return;
        }// end function

        public static function getMidDataArr() : Array
        {
            var _loc_2:Object = null;
            var _loc_1:Array = [];
            var _loc_3:* = Cache.instance.guild.selfGuildInfo;
            _loc_2 = {};
            _loc_2.state = "" + Language.getString(71439);
            _loc_2.info = "" + _loc_3.baseInfo.leader.name;
            _loc_2.oper = GNInfoOprType.Mort;
            _loc_1.push(_loc_2);
            _loc_2 = {};
            _loc_2.state = "" + Language.getString(71440);
            _loc_2.info = "【" + _loc_3.baseInfo.playerNum + "/" + _loc_3.baseInfo.maxPlayerNum + "】";
            _loc_2.oper = GNInfoOprType.Mem;
            _loc_1.push(_loc_2);
            _loc_2 = {};
            _loc_2.state = "" + Language.getString(71441);
            _loc_2.info = Language.getStringByParam(71443, _loc_3.baseInfo.rank);
            _loc_2.oper = GNInfoOprType.Rank;
            _loc_1.push(_loc_2);
            _loc_2 = {};
            _loc_2.state = "" + Language.getString(71442);
            _loc_2.info = "" + _loc_3.baseInfo.resource;
            _loc_2.oper = GNInfoOprType.Adont;
            _loc_1.push(_loc_2);
            return _loc_1;
        }// end function

        public static function getBottomArr() : Array
        {
            var _loc_2:Array = null;
            var _loc_3:Object = null;
            var _loc_1:Array = [];
            _loc_3 = {};
            _loc_3.skin = ImagesConst.GuildNInfoCopyBtn_upSkin;
            _loc_2 = infoCopyMod();
            _loc_3.info = {};
            _loc_3.info.mod = _loc_2[0];
            _loc_3.info.btnSkin = ImagesConst.GuildNInfoOpenBtn_upSkin;
            _loc_3.info.txt = "" + Language.getString(71444);
            _loc_3.info.color = _loc_2[1];
            _loc_3.oper = GNInfoOprType.Copy;
            _loc_1.push(_loc_3);
            _loc_3 = {};
            _loc_3.skin = ImagesConst.GuildNInfoBossBtn_upSkin;
            _loc_2 = infoBossMod();
            _loc_3.info = {};
            _loc_3.info.mod = _loc_2[0];
            _loc_3.info.btnSkin = ImagesConst.GuildNInfoOpenBtn_upSkin;
            _loc_3.info.txt = "" + Language.getString(71445);
            _loc_3.info.color = _loc_2[1];
            _loc_3.oper = GNInfoOprType.BOSS;
            _loc_1.push(_loc_3);
            _loc_2 = infoDinerMod();
            _loc_3 = {};
            _loc_3.skin = ImagesConst.GuildNInfoDinaBtn_upSkin;
            _loc_3.info = {};
            _loc_3.info.mod = _loc_2[0];
            _loc_3.info.btnSkin = ImagesConst.GuildNInfoOpenBtn_upSkin;
            _loc_3.info.txt = _loc_2[2];
            _loc_3.info.color = _loc_2[1];
            _loc_3.oper = GNInfoOprType.Diner;
            _loc_1.push(_loc_3);
            _loc_2 = infoMissionMod();
            _loc_3 = {};
            _loc_3.skin = ImagesConst.GuildNInfoYunBtn_upSkin;
            _loc_3.info = {};
            _loc_3.info.mod = _loc_2[0];
            _loc_3.info.btnSkin = ImagesConst.GuildNInfoOpenBtn_upSkin;
            _loc_3.info.txt = _loc_2[2];
            _loc_3.info.color = _loc_2[1];
            _loc_3.oper = GNInfoOprType.Mission;
            _loc_1.push(_loc_3);
            _loc_2 = infoGiftMod();
            _loc_3 = {};
            _loc_3.skin = ImagesConst.GuildNInfoDayGiftBtn_upSkin;
            _loc_3.info = {};
            _loc_3.info.mod = _loc_2[0];
            _loc_3.info.btnSkin = ImagesConst.GuildNInfoGetGiftBtn_upSkin;
            _loc_3.info.tip = _loc_2[2];
            _loc_3.info.enable = _loc_2[1];
            _loc_3.info.gift = true;
            _loc_3.oper = GNInfoOprType.Gift;
            _loc_1.push(_loc_3);
            return _loc_1;
        }// end function

        public static function getInfoMemberNum() : Object
        {
            var _loc_1:Object = null;
            _loc_1 = {};
            _loc_1.state = "" + Language.getString(71446);
            _loc_1.info = "" + Language.getString(71447);
            _loc_1.oper = GNInfoOprType.Mem;
            return _loc_1;
        }// end function

        public static function getInfoRank() : Object
        {
            var _loc_1:Object = null;
            _loc_1 = {};
            _loc_1.state = "" + Language.getString(71448);
            _loc_1.info = "" + Language.getString(71449);
            _loc_1.oper = GNInfoOprType.Rank;
            return _loc_1;
        }// end function

        public static function getDonate() : Object
        {
            var _loc_3:Object = null;
            var _loc_4:ItemData = null;
            var _loc_1:int = 0;
            var _loc_2:* = Cache.instance.pack.backPackCache.getPropByType(GuildConst.donateResourceCategory, GuildConst.donateResourceType);
            if (_loc_2.length > 0)
            {
                _loc_4 = _loc_2[0];
                _loc_1 = _loc_4.itemAmount;
            }
            _loc_3 = {};
            _loc_3.state = "" + Language.getString(71450);
            _loc_3.info = _loc_1;
            _loc_3.oper = GNInfoOprType.Adont;
            return _loc_3;
        }// end function

        public static function infoCopyMod() : Array
        {
            var _loc_1:Array = [];
            _loc_1[0] = "txt";
            if (inWeekDay([1, 3, 5]))
            {
                _loc_1[1] = "#00ff00";
            }
            else
            {
                _loc_1[1] = "#ff0000";
            }
            return _loc_1;
        }// end function

        public static function infoBossMod() : Array
        {
            var _loc_1:Array = [];
            _loc_1[0] = "txt";
            if (inWeekDay([2, 4, 6]))
            {
                _loc_1[1] = "#00ff00";
            }
            else
            {
                _loc_1[1] = "#ff0000";
            }
            return _loc_1;
        }// end function

        private static function infoDinerMod() : Array
        {
            var _loc_1:Array = [];
            _loc_1[0] = "txt";
            if (Cache.instance.guild.selfGuildInfo == false && Cache.instance.guild.selfGuildInfo.baseInfo.level < 4)
            {
                _loc_1[1] = "#ff0000";
                _loc_1[2] = "" + Language.getString(71451);
            }
            else
            {
                if (inWeekDay([1, 3, 5]) && isInActiveTime("19:00#21:00"))
                {
                    _loc_1[1] = "#00ff00";
                }
                else
                {
                    _loc_1[1] = "#ff0000";
                }
                _loc_1[2] = "" + Language.getString(71452);
            }
            return _loc_1;
        }// end function

        private static function infoMissionMod() : Array
        {
            var _loc_1:Array = [];
            _loc_1[0] = "txt";
            _loc_1[1] = "#00ff00";
            _loc_1[2] = "" + Language.getString(71453);
            return _loc_1;
        }// end function

        private static function infoGiftMod() : Array
        {
            var _loc_1:Array = [];
            var _loc_2:* = Cache.instance.guild.selfGuildInfo;
            _loc_1[0] = "btn";
            if (_loc_2.selfInfo.dayAward == false)
            {
                _loc_1[1] = true;
            }
            else
            {
                _loc_1[1] = false;
            }
            _loc_1[2] = "" + Language.getString(71454);
            return _loc_1;
        }// end function

        public static function isInActiveTime(param1:String) : Boolean
        {
            var _loc_2:* = new TDailyViewConfig();
            _loc_2.normalOpenDt = param1;
            return DailyUtil.isInActiveTime(_loc_2);
        }// end function

        public static function inWeekDay(param1:Array) : Boolean
        {
            var _loc_2:* = ClockManager.instance.nowDate;
            var _loc_3:* = _loc_2.day == 0 ? (7) : (_loc_2.day);
            return param1.indexOf(_loc_3) != -1;
        }// end function

        public static function inWeekDayStr(param1:Array) : Boolean
        {
            var _loc_2:* = ClockManager.instance.nowDate;
            var _loc_3:* = _loc_2.day == 0 ? ("7") : (_loc_2.day.toString());
            return param1.indexOf(_loc_3) != -1;
        }// end function

        public static function getGuildCopyNum() : int
        {
            var _loc_1:* = infoCopyMod();
            var _loc_2:int = 0;
            if (_loc_1[0] == "btn")
            {
                if (Cache.instance.guild.selfGuildInfo.baseInfo.level < 2)
                {
                    _loc_2 = 0;
                }
                else
                {
                    _loc_2 = 1;
                }
            }
            return _loc_2;
        }// end function

        public static function getWorldBossNum() : int
        {
            var _loc_1:* = infoBossMod();
            var _loc_2:int = 0;
            if (_loc_1[1] == "#00ff00")
            {
                if (!GameController.autoGuide.hasShowModule(ModuleType.Guild))
                {
                    _loc_2 = 0;
                }
                else if (GuildBuildingConfig.instance.getInfoByBuildingType(Cache.instance.guild.selfGuildInfo.baseInfo.level, EGuildStructureType._EGuildAltar).structureLevel <= 0)
                {
                    _loc_2 = 0;
                }
                else
                {
                    _loc_2 = 1;
                }
            }
            return _loc_2;
        }// end function

        public static function canShowChangeBtn() : Boolean
        {
            var _loc_1:* = Cache.instance.guild.selfGuildInfo;
            if (_loc_1.selfInfo && EGuildPosition._EGuildLeader == _loc_1.selfInfo.position && _loc_1.baseInfo && _loc_1.baseInfo.level < 20)
            {
                return true;
            }
            return false;
        }// end function

    }
}
